#define _CRT_SECURE_NO_WARNINGS 1
#include <iostream>
#include <queue>
#include <map>
#include <unordered_map>
#include <vector>
#include <algorithm>
#include <cmath>
#include <string>
#include <cstring>
#include <set>
#include <unordered_set>
using namespace std;
typedef long long ll;
typedef unsigned long long Ull;
const int N = 210;

void solve()
{
	int b[N];
	int idx = 0;
	char a[N];
	char a1[N];
	
	int n;
	cin >> n;
	for (int i = 1; i <= n; i++)
	{
		cin >> a[i];
	}
	memcpy(a1, a, sizeof(a));
	int ans = 0;
	char s = 'B';
	for (int i = 1; i < n; i++)
	{
		if (a[i] != s)
		{
			a[i] = s;
			a[i + 1] = 'B' + 'W' - a[i + 1];
			ans++;
			b[idx] = i;
			idx++;
		}
	}

	if (a[n] == s)
	{
		cout << ans << '\n';
		for (int i = 0; i < idx; i++)
		{
			cout << b[i] << ' ';
		}
		if (ans != 0) cout << '\n';
	}
	else
	{
		s = 'W';
		idx = 0;
		ans = 0;
		for (int i = 1; i < n; i++)
		{
			if (a1[i] != s)
			{
				a1[i] = s;
				a1[i + 1] = 'B' + 'W' - a1[i + 1];
				ans++;
				b[idx] = i;
				idx++;
			}
		}
		if (a1[n] == s)
		{
			cout << ans << '\n';
			for (int i = 0; i < idx; i++)
			{
				cout << b[i] << ' ';
			}
			if (ans != 0) cout << '\n';
		}
		else
		{
			cout << -1 << '\n';
		}
	}
}
int main()
{
	int t;
	cin >> t;
	while (t--)
	{
		solve();
	}

	return 0;
}

